OpenCores

Page index

Orpmon - an opensource TFTP boot loader
Linux - port of the linux kernel to OpenRISC
RTEMS - real-time open source operating system
uCLinux - port of the uClinux kernel to OpenRISC

Orpmon

What is ORPmon?

ORPmon is a user friendly open source TFTP loader program with a lot of useful utilities and extra functions -- e.g. memory dump/patching, flash loading, crc calculation...

Its small size and scalability makes it useful and fast to load in most applications. ORPmon is accessible using serial port or VGA terminal. In former case it should be connected to some tty device.

Although the primary use for this application is program loading and executing, it can also be used for board/device testing. Numerous tests are already included, while custom can be easily added.

When ORPmon displays prompt, e.g. 'orpmon>', it is waiting for input. Valid command should be entered.
For more information about commands type 'help' in the ORPmon command prompt.

Installation

ORPmon is available in the subversion under 'or1k/orpmon'.

ORPmon is configured by editing include/board.h. 'make all' afterwards builds the ORPmon according to the given configuration. Two binaries are produced, orpmon.or32, orpmon-flash.or32. They are basically the same, except the latter starts from flash.

ORPmon command reference manual (PDF, 40KB) in Adobe Portable Document Format is available by 'make docs' in doc directory.

svn co http://opencores.org/ocsvn/or1k/or1k/trunk/orpmon
[edit] include/board.h
make clean all

Check out the JTAG server application for connecting GDB to real hardware using USB JTAG debug cable.
Compile the program and run (so open new terminal for that):

svn co http://opencores.org/ocsvn/or1k/or1k/trunk/jtag
make clean all
./jp1-usb 12345

Load the orpmon.or32 or orpmon-flash.or32 file onto the board, using e.g. gdb:

or32-uclinux-gdb orpmon.or32

(gdb) target jtag jtag://localhost:12345
(gdb) load
(gdb) set $pc=0x100
(gdb) c

Wish List (TODO List)

The following functions are not yet implemented:

  • support for SPI FLASH memory
  • support for I2C EEPROM memory

Top

Linux

Introduction

The aim of this project is to port and maintain Linux kernel to the OpenRISC 1000 family and develop device drivers for various OpenCores peripherals.

Linux is a free, open source UNIX kernel that together with the GNU C library and GNU utilities forms the GNU/Linux operating system.

Features are:

  • Free, open source code with no royalty
  • UNIX class operating system
  • Process protection through use of the Memory Management Unit
  • Multitasking, preemptive scheduling
  • Interprocess communication and synchronization
  • TCP/IP networking and numerous other network protocols
  • File systems NFS, ext2, MS-DOS, FAT16/32 and others

Status

  • Linux kernel v. 2.4.x port is finished and runs in simulator and in hardware
  • Linux kernel v. 2.6.19 port has passed basic testing and a patch to the official kernel will shortly be included in the svn repository

If you would like to help with the development, please contact the developers.

Documentation

No documentation available at this time. See Linux.com web site for information about Linux.

Wish List (TODO List)

This is a what we want to do/have in the future and right now nobody is working on this. If you want to help, send an email to the mailing list.

  • Device Drivers for various OpenCores peripherals (PCI,...)
  • Various optimizations and code cleanup
  • Documentation to help newbies

If you have a suggestion for new Wish List entry, feel free to send it to the mailing list so that is added to the list and somebody may start working on it.

Developer(s)

The team working on Linux port and device drivers:

Past contributor(s)

These are the people currently not working on the GNU Toolchain, but have contributed in the past:

  • Matjaz Breskvar, phoenix@opencores.org

Top

RTEMS

Introduction

The aim of this project is to port and maintain RTEMS to the OpenRISC 1000 family and develop device drivers for various OpenCores peripherals.

RTEMS is a real-time open source operating system.

Features are:

  • free, open source code with no royalty
  • small code footprint suitable for embedded and portable applications
  • POSIX API and uITRON API
  • Scalable Architecture
  • Multitasking
  • Event-driven, priority-based, preemptive scheduling
  • Intertask communication and synchronization
  • High level of user configurability
  • TCP/IP networking with FTP, HTTP and other Internet daemons
  • File system, microwindows GUI, etc.

Status

  • RTEMS kernel working on or1ksim simulator
  • Writing device drivers

If you would like to help with the development, please contact the developers.

Download

Source code for current development of the OpenRISC RTEMS port is available from the OpenCores SVN repository under the module hierarchy or1k/rtems.

svn co http://opencores.org/ocsvn/or1k/or1k/trunk/rtems

At this point no binaries for the OpenRISC are available due to development status of the RTEMS port. However building the RTEMS should be rather straightforward.

Documentation

No documentation available at this time. See RTEMS web site for platform independent documentation.

Wish List (TODO List)

This is what we would like to develop/see developed but presently nobody is working on these projects. If you want to help, send an email to the mailing list.

  • Device Drivers for various OpenCores peripherals (ethernet, usb, uart etc)

If you have a suggestion for new Wish List entry, feel free to send it to the mailing list so that is added to the list and somebody may start working on it.

Developer(s)

The team working on the RTEMS port and device drivers:

  • Ivan Guzvinec, ivang@opencores.org

Past Contributor(s)

These are the people currently not working on the RTEMS, but have contributed in the past:

  • Original port was done by Chris Ziomkowski, chris@opencores.org
Top

uCLinux

The uCLinux port for OpenRISC is not actively maintaned anymore. The Linux 2.6 kernel should be used instead.

The existing uCLinux port is available via subversion

svn co http://opencores.org/ocsvn/or1k/or1k/trunk/uclinux

These are the people currently not working on the GNU Toolchain, but have contributed in the past:

  • Simon Srot
  • Marko Mlinar
  • Matjaz Breskvar
Top

Page maintainer(s)

This web page is maintained by